/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ca.usask.cs.SimulationModel;

import java.util.Iterator;


/**
 *
 * @author tonyleung
 */
public interface ModelingAgentActionStackInterface {
   
    /**
     * Adds to the top of the stack an modelingAgentObject created from modelAgentObject
     * @param theEdge
     */
    public void push(ModelingAgentObjectInterface modelingAgentObject);


    /**
     * retrieves the first modelingAgentObject from the stack
     * @return
     */
    public ModelingAgentObjectInterface pop();

    /**
     * retrieves the stack of modelingAgentObjects in an iterator
     * @return
     */
    public Iterator<ModelingAgentObjectInterface> getList();

    /**
     * retrieves the time value for the last modelingAgentObject
     * @return
     */
    public double getFinalTime();
}
